C++中,char s[10];与string s;有何区别和联系?

来源:百度知道 编辑:UC知道 时间:2024/05/27 00:43:43
请举例说明!

char s[10] 指的是:一个指针,这个指针指向10个char的内存空间。

string 是一个类。有自己的成员函数和变量。

给你举几个例子吧:
char s[10];
string ss;
ss = "hello";//实际是调用string的构造函数进行赋初值
memcpy(s,ss.c_str(),sizeof(s)); //调用ss的成员函数返回一个字串指针。
cout<<s<<endl;

而对于s来说,你如果赋值超过了长度,虽然能通过,但是会引来灾难性的问题。
因此记住:一定不要超过10,也就是他定义的长度

前者是字符数组,每个数组元素是一个字符
例如 s[10]={"China"} s[0]="C" s[1]="h" s[5]=0

string s 这样的话,就是一个整个字符串了。

string是C++里面的一个类

char s[10]是表示开辟一个字符数组,里面可以存放10个字符

string s是C++模板类

string 是c++模板类,专门针对字符串操作,里面提供有方法。 string s; s.xxxx